# @FileName  : yolo0.py
# @Time      : 2025/5/12 09:12
# @Author    : LuZhaoHui
# @Software  : PyCharm

from ultralytics import YOLO
import cv2


def yolo_detection():
    # 加载模型 (可以使用 yolov8n/s/m/l/x 不同尺寸)
    model = YOLO('YOLO11/yolo11n.pt')  # 会自动下载预训练权重

    # 检测图片
    img_path = '000001.jpg'  # 替换为你的图片路径
    results = model(img_path)

    # 可视化结果
    for r in results:
        # 方式1：使用OpenCV显示
        annotated_img = r.plot()  # 带标注的numpy数组
        cv2.imshow('YOLO Detection', annotated_img)
        cv2.waitKey(0)

        # 方式2：保存结果
        r.save('output.jpg')

        # 打印检测信息
        print("检测结果:")
        for box in r.boxes:
            print(f"类别: {model.names[int(box.cls)]}, 置信度: {box.conf.item():.2f}")
            print(f"坐标: {box.xyxy.tolist()[0]}")


def yolo_video_detection():
    model = YOLO('YOLO11/yolo11x.pt')
    model.predict(source='v0.MP4',show=True)



if __name__ == '__main__':
    yolo_detection()
    # yolo_video_detection()


